home *** CD-ROM | disk | FTP | other *** search
- {
- ULTRA The greatest random number generator that ever was
- or ever will be. Way beyond Super-Duper.
- (Just kidding, but we think its a good one.)
-
- Authors: Arif Zaman (arif@stat.fsu.edu) and
- George Marsaglia (geo@stat.fsu.edu).
-
- Date: 27 May 1992
-
- Version: 1.05
-
- Copyright: To obtain permission to incorporate this program into
- any commercial product, please contact the authors at
- the e-mail address given above or at
-
- Department of Statistics and
- Supercomputer Computations Research Institute
- Florida State University
- Tallahassee, FL 32306.
-
- See Also: README for a brief description
- ULTRA.DOC for a detailed description
-
- -----------------------------------------------------------------------
- }
- {
- File: ULTRATPU.PAS (Program to make a .TPU file)
- }
- {$IFDEF x} unit ultrax;
- {$ELSE} {$IFDEF f} unit ultraf;
- {$ELSE} {$IFDEF fx} unit ultrafx;
- {$ELSE} unit ultra;
- {$ENDIF}{$ENDIF}{$ENDIF}
-
- interface
-
- Function i32bit : LongInt;
- Function i31bit : LongInt;
- Function i16bit : Integer; { You can declare this to be Word }
- Function i15bit : Integer;
- Function i8bit : ShortInt; { You can declare this to be Byte }
- Function i7bit : ShortInt;
- Function i1bit : Boolean;
- Function uni : Single;
- Function vni : Single;
- Function duni : Double;
- Function dvni : Double;
- Procedure rinit(x,y : LongInt);
-
- implementation
-
- type cp = record c: Integer; p: Pointer; x: Array [0..36] of LongInt; end;
-
- var SWBstate: Array [0..4*sizeof(cp)+37] of byte;
- tmpq : Comp;
-
- const neg31 : Integer = -31;
- neg63 : Integer = -63;
- SWBsize : Integer = sizeof(SWBstate);
-
- Function i32bit : LongInt; external;
- Function i31bit : LongInt; external;
- Function i16bit : Integer; external;
- Function i15bit : Integer; external;
- Function i8bit : ShortInt; external;
- Function i7bit : ShortInt; external;
- Function i1bit : Boolean; external;
- Function uni : Single; external;
- Function vni : Single; external;
- Function duni : Double; external;
- Function dvni : Double; external;
- Procedure rinit(x,y : LongInt); external;
-
- {$IFDEF x} {$L ultrx_tp.obj}
- {$ELSE} {$IFDEF f} {$L ultrf_tp.obj}
- {$ELSE} {$IFDEF fx} {$L ultfx_tp.obj}
- {$ELSE} {$L ultra_tp.obj}
- {$ENDIF}{$ENDIF}{$ENDIF}
-
- begin rinit(1234567,7654321);
- end.